[INFO] fetching crate rinex 0.15.1...
[INFO] checking rinex-0.15.1 against master#158f00a1c5175648af6f6099b075f78d1d014a28 for pr-121251
[INFO] extracting crate rinex 0.15.1 into /workspace/builds/worker-6-tc1/source
[INFO] validating manifest of crates.io crate rinex 0.15.1 on toolchain 158f00a1c5175648af6f6099b075f78d1d014a28
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rinex 0.15.1
[INFO] finished tweaking crates.io crate rinex 0.15.1
[INFO] tweaked toml for crates.io crate rinex 0.15.1 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded sp3 v1.0.6
[INFO] [stderr]   Downloaded gnss-rs v2.1.3
[INFO] [stderr]   Downloaded map_3d v0.1.5
[INFO] [stderr]   Downloaded hifitime v3.9.0
[INFO] [stderr]   Downloaded rinex-qc-traits v0.1.1
[INFO] [stderr]   Downloaded horrorshow v0.8.4
[INFO] [stderr]   Downloaded geo v0.27.0
[INFO] [stderr]   Downloaded wkt v0.10.3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 65edd8a6dad4e4dd80d61e3992ce402e0db9812d1041ec46ea47599c86c05c23
[INFO] running `Command { std: "docker" "start" "-a" "65edd8a6dad4e4dd80d61e3992ce402e0db9812d1041ec46ea47599c86c05c23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "65edd8a6dad4e4dd80d61e3992ce402e0db9812d1041ec46ea47599c86c05c23", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "65edd8a6dad4e4dd80d61e3992ce402e0db9812d1041ec46ea47599c86c05c23", kill_on_drop: false }`
[INFO] [stdout] 65edd8a6dad4e4dd80d61e3992ce402e0db9812d1041ec46ea47599c86c05c23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+158f00a1c5175648af6f6099b075f78d1d014a28" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e08af8adfef10e4de5794f1de7c20e47148e91bc93633b8c07f7ea8506cd7f8b
[INFO] running `Command { std: "docker" "start" "-a" "e08af8adfef10e4de5794f1de7c20e47148e91bc93633b8c07f7ea8506cd7f8b", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking map_3d v0.1.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking hifitime v3.9.0
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]    Compiling gnss-rs v2.1.3
[INFO] [stderr]    Compiling rinex v0.15.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `Carrier`
[INFO] [stdout]  --> src/observation/record.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Carrier, Observable,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ionex::TECPlane`
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use ionex::TECPlane;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::Kepler`, `super::Perturbations`
[INFO] [stdout]    --> src/navigation/ephemeris.rs:862:28
[INFO] [stdout]     |
[INFO] [stdout] 862 |     use super::{Ephemeris, Kepler, Perturbations};
[INFO] [stdout]     |                            ^^^^^^  ^^^^^^^^^^^^^ no `Perturbations` in `navigation::ephemeris`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            no `Kepler` in `navigation::ephemeris`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/navigation/ephemeris.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout] 50  | pub struct Kepler {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     = note: the item is gated behind the `nav` feature
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/navigation/ephemeris.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout] 81  | pub struct Perturbations {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     = note: the item is gated behind the `nav` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::filter`
[INFO] [stdout]  --> src/tests/obs.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::filter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ no `filter` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/obs.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/sampling.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/smoothing.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]    --> src/navigation/ephemeris.rs:863:9
[INFO] [stdout]     |
[INFO] [stdout] 863 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^ help: a similar path exists: `bitflags::serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `filter` in this scope
[INFO] [stdout]     --> src/lib.rs:3244:17
[INFO] [stdout]      |
[INFO] [stdout] 3244 |         let _ = filter!("G08, G09");
[INFO] [stdout]      |                 ^^^^^^ help: a macro with a similar name exists: `file`
[INFO] [stdout]     --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/macros/mod.rs:1260:5
[INFO] [stdout]      |
[INFO] [stdout]      = note: similarly named macro `file` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `filter` in this scope
[INFO] [stdout]     --> src/lib.rs:3243:17
[INFO] [stdout]      |
[INFO] [stdout] 3243 |         let _ = filter!("GPS");
[INFO] [stdout]      |                 ^^^^^^ help: a macro with a similar name exists: `file`
[INFO] [stdout]     --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/macros/mod.rs:1260:5
[INFO] [stdout]      |
[INFO] [stdout]      = note: similarly named macro `file` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/navigation/ephemeris.rs:866:11
[INFO] [stdout]     |
[INFO] [stdout] 866 |         #[serde(with = "epoch_serde")]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Filter`
[INFO] [stdout]   --> src/tests/smoothing.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let filter = Filter::from_str("smooth:hatch:c1c,c2p,l1c,l2p").unwrap();
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Filter`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use core::iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use itertools::__std_iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use std::iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Carrier`
[INFO] [stdout]  --> src/observation/record.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Carrier, Observable,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `observable`
[INFO] [stdout]  --> src/tests/decompression.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::{observable, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tests/nav.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/tests/nav.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::path::PathBuf;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `header::*`
[INFO] [stdout]  --> src/tests/obs.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::{header::*, observation::*, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tests/production.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ionex::TECPlane`
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use ionex::TECPlane;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clock_diff` is never read
[INFO] [stdout]   --> src/hatanaka/compressor.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Compressor {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     clock_diff: NumDiff,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_plane_mut` is never used
[INFO] [stdout]   --> src/ionex/record.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn merge_plane_mut(lhs: &mut TECPlane, rhs: &TECPlane) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_orbit_f64`, `get_week`, and `toe` are never used
[INFO] [stdout]    --> src/navigation/ephemeris.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Ephemeris {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub(crate) fn set_orbit_f64(&mut self, field: &str, value: f64) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn get_week(&self) -> Option<u32> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(crate) fn toe(&self, ts: TimeScale) -> Option<Epoch> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `meters_delay` is never used
[INFO] [stdout]    --> src/navigation/ionmessage.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 75  | impl KbModel {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) fn meters_delay(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scaling` is never used
[INFO] [stdout]    --> src/observation/mod.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl HeaderFields {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(crate) fn scaling(&self, c: Constellation, observable: Observable) -> Option<&u16> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_kepler` found for struct `Ephemeris` in the current scope
[INFO] [stdout]    --> src/navigation/ephemeris.rs:879:14
[INFO] [stdout]     |
[INFO] [stdout] 33  |   pub struct Ephemeris {
[INFO] [stdout]     |   -------------------- method `with_kepler` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 878 | /         Ephemeris::default()
[INFO] [stdout] 879 | |             .with_kepler(hp.kepler)
[INFO] [stdout]     | |             -^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Helper: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1087:26
[INFO] [stdout]      |
[INFO] [stdout] 1087 |             let helper = serde_json::from_str::<Helper>(descriptor);
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `Helper`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                bool
[INFO] [stdout]                char
[INFO] [stdout]                isize
[INFO] [stdout]                i8
[INFO] [stdout]                i16
[INFO] [stdout]                i32
[INFO] [stdout]                i64
[INFO] [stdout]                i128
[INFO] [stdout]              and 141 others
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.114/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `kepler` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1094:27
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `kepler` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1094 |                 ephemeris.kepler().is_some(),
[INFO] [stdout]      |                           ^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `perturbations` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1098:27
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `perturbations` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1098 |                 ephemeris.perturbations().is_some(),
[INFO] [stdout]      |                           ^^^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_position` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1107:34
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `sv_position` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1107 |             let ecef = ephemeris.sv_position(helper.sv, helper.epoch);
[INFO] [stdout]      |                                  ^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_elev_azim` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1122:35
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `sv_elev_azim` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1122 |             let el_az = ephemeris.sv_elev_azim(helper.sv, helper.epoch, helper.ref_pos);
[INFO] [stdout]      |                                   ^^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]   --> benches/benchmark.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn parse_file(fp: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `browse_skip_header_section` is never used
[INFO] [stdout]   --> benches/benchmark.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn browse_skip_header_section(reader: &mut BufferedReader) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_parsing` is never used
[INFO] [stdout]   --> benches/benchmark.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn record_parsing(path: &str, header: &mut Header) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 3 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/nav.rs:318:39
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let ephemeris: Vec<_> = rinex.ephemeris().collect();
[INFO] [stdout]     |                                       ^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `carrier_phase` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/obs.rs:751:14
[INFO] [stdout]     |
[INFO] [stdout] 750 |           let phase_l1c: Vec<_> = rnx
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 751 | |             .carrier_phase()
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 |   pub struct Rinex {
[INFO] [stdout]     |   ---------------- method `carrier_phase` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pseudo_range` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/obs.rs:791:14
[INFO] [stdout]     |
[INFO] [stdout] 790 |           let c1: Vec<_> = rnx
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 791 | |             .pseudo_range()
[INFO] [stdout]     | |             -^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 |   pub struct Rinex {
[INFO] [stdout]     |   ---------------- method `pseudo_range` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:59:63
[INFO] [stdout]     |
[INFO] [stdout] 59  | ...                   for (_toc, (_, sv, eph)) in rinex.ephemeris() {
[INFO] [stdout]     |                                                         ^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:62:60
[INFO] [stdout]     |
[INFO] [stdout] 62  | ...                   let seleph = rinex.sv_ephemeris(sv, toe);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `sv_ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ionosphere_models` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:119:66
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   for (_, (msg, sv, ion_msg)) in rinex.ionosphere_models() {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ionosphere_models` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `earth_orientation` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:177:60
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...                   for (_, (msg, sv, _)) in rinex.earth_orientation() {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `earth_orientation` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `system_time_offset` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:190:61
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...                   for (_, (msg, _sv, _)) in rinex.system_time_offset() {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `system_time_offset` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `decimate_by_interval` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/sampling.rs:34:31
[INFO] [stdout]     |
[INFO] [stdout] 34  |         let decimated = rinex.decimate_by_interval(Duration::from_seconds(10.0));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `decimate_by_interval` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `decimate_by_ratio` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/sampling.rs:45:31
[INFO] [stdout]     |
[INFO] [stdout] 45  |         let decimated = rinex.decimate_by_ratio(2);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `decimate_by_ratio` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `Rinex` is not an iterator
[INFO] [stdout]    --> src/tests/smoothing.rs:30:38
[INFO] [stdout]     |
[INFO] [stdout] 30  |         let filtered = initial_rinex.filter(filter);
[INFO] [stdout]     |                                      ^^^^^^ `Rinex` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `filter` not found for this struct because it doesn't satisfy `Rinex: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Rinex: Iterator`
[INFO] [stdout]             which is required by `&mut Rinex: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/158f00a1c5175648af6f6099b075f78d1d014a28/library/core/src/iter/traits/iterator.rs:75:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `filter`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rinex` (lib test) due to 28 previous errors; 7 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "e08af8adfef10e4de5794f1de7c20e47148e91bc93633b8c07f7ea8506cd7f8b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e08af8adfef10e4de5794f1de7c20e47148e91bc93633b8c07f7ea8506cd7f8b", kill_on_drop: false }`
[INFO] [stdout] e08af8adfef10e4de5794f1de7c20e47148e91bc93633b8c07f7ea8506cd7f8b
[INFO] checking rinex-0.15.1 against try#b4fc5dbf0bc33be331f9d893db5b3a794f29724a+rustflags=-Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds for pr-121251
[INFO] extracting crate rinex 0.15.1 into /workspace/builds/worker-6-tc2/source
[INFO] validating manifest of crates.io crate rinex 0.15.1 on toolchain b4fc5dbf0bc33be331f9d893db5b3a794f29724a
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate rinex 0.15.1
[INFO] finished tweaking crates.io crate rinex 0.15.1
[INFO] tweaked toml for crates.io crate rinex 0.15.1 written to /workspace/builds/worker-6-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] a2d383f1932c1128a9e20dff61a1eaf608a1ee560e8bdf8ea371aeaf972c083e
[INFO] running `Command { std: "docker" "start" "-a" "a2d383f1932c1128a9e20dff61a1eaf608a1ee560e8bdf8ea371aeaf972c083e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "a2d383f1932c1128a9e20dff61a1eaf608a1ee560e8bdf8ea371aeaf972c083e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a2d383f1932c1128a9e20dff61a1eaf608a1ee560e8bdf8ea371aeaf972c083e", kill_on_drop: false }`
[INFO] [stdout] a2d383f1932c1128a9e20dff61a1eaf608a1ee560e8bdf8ea371aeaf972c083e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid -Dexplicit_range -Dtrait_impl_range -Wrange_syntax -Wrange_bounds" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b4fc5dbf0bc33be331f9d893db5b3a794f29724a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 56bbe9935d581f0ea18a9524937c3cd2223924241468f1c1b620c28057cc08f7
[INFO] running `Command { std: "docker" "start" "-a" "56bbe9935d581f0ea18a9524937c3cd2223924241468f1c1b620c28057cc08f7", kill_on_drop: false }`
[INFO] [stderr]    Compiling libm v0.2.8
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling equivalent v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.14.3
[INFO] [stderr]    Compiling serde_json v1.0.114
[INFO] [stderr]    Compiling ryu v1.0.17
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]    Compiling crossbeam-utils v0.8.19
[INFO] [stderr]    Compiling itoa v1.0.10
[INFO] [stderr]     Checking either v1.10.0
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling num-traits v0.2.18
[INFO] [stderr]    Compiling num-bigint v0.4.4
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]    Compiling num-rational v0.4.1
[INFO] [stderr]     Checking regex-syntax v0.8.2
[INFO] [stderr]     Checking lexical-util v0.8.5
[INFO] [stderr]    Compiling rayon-core v1.12.1
[INFO] [stderr]    Compiling rustversion v1.0.14
[INFO] [stderr]     Checking half v2.4.0
[INFO] [stderr]     Checking plotters-backend v0.3.5
[INFO] [stderr]     Checking clap_lex v0.7.0
[INFO] [stderr]     Checking anstyle v1.0.6
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking plotters-svg v0.3.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]     Checking same-file v1.0.6
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking clap_builder v4.5.1
[INFO] [stderr]     Checking aho-corasick v1.1.2
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking itertools v0.12.1
[INFO] [stderr]     Checking lexical-parse-integer v0.8.6
[INFO] [stderr]     Checking is-terminal v0.4.12
[INFO] [stderr]     Checking map_3d v0.1.5
[INFO] [stderr]     Checking log v0.4.21
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]    Compiling indexmap v2.2.5
[INFO] [stderr]     Checking lexical-parse-float v0.8.5
[INFO] [stderr]     Checking oorandom v11.1.3
[INFO] [stderr]     Checking strum v0.25.0
[INFO] [stderr]     Checking crossbeam-epoch v0.9.18
[INFO] [stderr]     Checking crossbeam-deque v0.8.5
[INFO] [stderr]     Checking lexical-core v0.8.5
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]     Checking num-complex v0.4.5
[INFO] [stderr]     Checking plotters v0.3.5
[INFO] [stderr]     Checking rayon v1.9.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking num-iter v0.1.44
[INFO] [stderr]     Checking regex-automata v0.4.5
[INFO] [stderr]     Checking clap v4.5.1
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]    Compiling thiserror-impl v1.0.57
[INFO] [stderr]    Compiling num-derive v0.4.2
[INFO] [stderr]    Compiling strum_macros v0.25.3
[INFO] [stderr]     Checking num v0.4.1
[INFO] [stderr]     Checking regex v1.10.3
[INFO] [stderr]     Checking thiserror v1.0.57
[INFO] [stderr]     Checking hifitime v3.9.0
[INFO] [stderr]     Checking bitflags v2.4.2
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]    Compiling gnss-rs v2.1.3
[INFO] [stderr]    Compiling rinex v0.15.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/epoch/mod.rs:191:31
[INFO] [stdout]     |
[INFO] [stdout] 191 |                     ns = item[dot + 1..]
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/compressor.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let nb = &content[30..32];
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:103:50
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let vehicle = &mut self.epoch_descriptor[min..max].trim().to_string();
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:194:46
[INFO] [stdout]     |
[INFO] [stdout] 194 | ...                   for i in 0..nb_missing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:304:42
[INFO] [stdout]     |
[INFO] [stdout] 304 | ...                   for index in self.obs_ptr..sv_nb_obs + 1 {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:327:34
[INFO] [stdout]     |
[INFO] [stdout] 327 |                         for _ in 0..nb_obs_line {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:355:62
[INFO] [stdout]     |
[INFO] [stdout] 355 | ...                   for i in 0..indexes.len() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:430:62
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...                   for i in 0..indexes.len() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/numdiff.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for _ in 0..max {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for index in 0..min {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let new_slice = &data[min..s1_len].replace('&', " ");
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for i in 0..inner.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for i in inner.len()..data.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/decompressor.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for i in 0..nb_sv {
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/decompressor.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     result.push_str(&systems[min_offset..max_offset]);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             for index in 0..content.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:168:62
[INFO] [stdout]     |
[INFO] [stdout] 168 |                         let _ = sv_obs.1.decompress(&content[index..index + 1]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:171:62
[INFO] [stdout]     |
[INFO] [stdout] 171 |                         let _ = sv_obs.2.decompress(&content[index..index + 1]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:206:66
[INFO] [stdout]     |
[INFO] [stdout] 206 |                         if let Ok(prn) = u8::from_str_radix(svnn[1..].trim(), 10) {
[INFO] [stdout]     |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:452:50
[INFO] [stdout]     |
[INFO] [stdout] 452 | ...                   line = &line[std::cmp::min(pos + 1, line.len())..]; // line remainder
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:835:26
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 for i in 0..content.len() / 6 {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:836:44
[INFO] [stdout]     |
[INFO] [stdout] 836 |                     let obscode = &content[i * 6..std::cmp::min((i + 1) * 6, content.len())].trim();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:886:30
[INFO] [stdout]     |
[INFO] [stdout] 886 |                     for i in 0..content.len() / 4 {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:888:38
[INFO] [stdout]     |
[INFO] [stdout] 888 | ...                   &content[i * 4..std::cmp::min((i + 1) * 4, content.len())].trim();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:914:26
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 for _ in 0..n {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:946:26
[INFO] [stdout]     |
[INFO] [stdout] 946 |                 for i in 0..num_integer::div_ceil(slots.len(), 7) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:947:39
[INFO] [stdout]     |
[INFO] [stdout] 947 |                     let svnn = &slots[i * 7..i * 7 + 4];
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:948:38
[INFO] [stdout]     |
[INFO] [stdout] 948 |                     let chx = &slots[i * 7 + 4..std::cmp::min(i * 7 + 4 + 3, slots.len())];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let datestr = &line[1..min_len.len()];
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let datestr = &line[1..min_len.len()];
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:68:45
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let (epoch, _) = epoch::parse_utc(&line[0..offset])?;
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     for i in 0..nb_lines {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 |         for _ in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:78:61
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let obs: Option<f64> = match f64::from_str(line[offset..offset + 7].trim()) {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/navigation/ephemeris.rs:537:27
[INFO] [stdout]     |
[INFO] [stdout] 537 |             true => &line[3..],
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/navigation/ephemeris.rs:538:28
[INFO] [stdout]     |
[INFO] [stdout] 538 |             false => &line[4..],
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:19:85
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let lines = re.replace_all(content, |caps: &Captures| format!("E+0{}", &caps[0][1..]));
[INFO] [stdout]    |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:23:84
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E+0{}", &caps[0][1..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:27:84
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E-0{}", &caps[0][2..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:31:84
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E-0{}", &caps[0][2..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation/record.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let datestr = &line[3..22];
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation/record.rs:241:29
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let datestr = &line[4..23];
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Carrier`
[INFO] [stdout]  --> src/observation/record.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Carrier, Observable,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:144:36
[INFO] [stdout]     |
[INFO] [stdout] 144 |             epoch::parse_utc(&line[0..29]).is_ok()
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:302:27
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let system = &systems[0..max];
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:363:22
[INFO] [stdout]     |
[INFO] [stdout] 363 |             for i in 0..nb_obs {
[INFO] [stdout]     |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:372:31
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         &line[0..std::cmp::min(17, line_width)] // manage trimmed single obs
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:377:31
[INFO] [stdout]     |
[INFO] [stdout] 377 |                         &line[start..end]
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 let obs = &slice[0..std::cmp::min(slice.len(), 14)]; // trimmed observations
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:389:46
[INFO] [stdout]     |
[INFO] [stdout] 389 |                         let lli_str = &slice[14..15];
[INFO] [stdout]     |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:394:50
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...                   let snr_str = &slice[15..16];
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:427:35
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let system = &systems[start..end];
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:500:26
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 for i in 0..nb_obs {
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:513:40
[INFO] [stdout]     |
[INFO] [stdout] 513 |                     let obs = &content[0..std::cmp::min(observable_width - 2, content_len)];
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:517:52
[INFO] [stdout]     |
[INFO] [stdout] 517 | ...                   let lli_str = &content[observable_width - 2..observable_width - 1];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:523:52
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   let snr_str = &content[observable_width - 1..observable_width];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:537:36
[INFO] [stdout]     |
[INFO] [stdout] 537 |                     let obs = &rem[0..observable_width - 2];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:540:48
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   let lli_str = &rem[observable_width - 2..observable_width - 1];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/observation/record.rs:544:56
[INFO] [stdout]     |
[INFO] [stdout] 544 | ...                   let snr_str = &rem[observable_width - 1..];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/observable.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     Some(c[1..].to_string())
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ionex::TECPlane`
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use ionex::TECPlane;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..nb_lines {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 &content[start_off..end_off],
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let nnnn = header.station.as_str()[0..4].to_lowercase();
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved imports `super::Kepler`, `super::Perturbations`
[INFO] [stdout]    --> src/navigation/ephemeris.rs:862:28
[INFO] [stdout]     |
[INFO] [stdout] 862 |     use super::{Ephemeris, Kepler, Perturbations};
[INFO] [stdout]     |                            ^^^^^^  ^^^^^^^^^^^^^ no `Perturbations` in `navigation::ephemeris`
[INFO] [stdout]     |                            |
[INFO] [stdout]     |                            no `Kepler` in `navigation::ephemeris`
[INFO] [stdout]     |
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/navigation/ephemeris.rs:50:12
[INFO] [stdout]     |
[INFO] [stdout] 50  | pub struct Kepler {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout]     = note: the item is gated behind the `nav` feature
[INFO] [stdout] note: found an item that was configured out
[INFO] [stdout]    --> src/navigation/ephemeris.rs:81:12
[INFO] [stdout]     |
[INFO] [stdout] 81  | pub struct Perturbations {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout]     = note: the item is gated behind the `nav` feature
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::filter`
[INFO] [stdout]  --> src/tests/obs.rs:3:9
[INFO] [stdout]   |
[INFO] [stdout] 3 |     use crate::filter;
[INFO] [stdout]   |         ^^^^^^^^^^^^^ no `filter` in the root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/obs.rs:6:16
[INFO] [stdout]   |
[INFO] [stdout] 6 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/sampling.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `crate::preprocessing`
[INFO] [stdout]  --> src/tests/smoothing.rs:4:16
[INFO] [stdout]   |
[INFO] [stdout] 4 |     use crate::preprocessing::*;
[INFO] [stdout]   |                ^^^^^^^^^^^^^ could not find `preprocessing` in the crate root
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `serde`
[INFO] [stdout]    --> src/navigation/ephemeris.rs:863:9
[INFO] [stdout]     |
[INFO] [stdout] 863 |     use serde::Deserialize;
[INFO] [stdout]     |         ^^^^^ help: a similar path exists: `bitflags::serde`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `filter` in this scope
[INFO] [stdout]     --> src/lib.rs:3244:17
[INFO] [stdout]      |
[INFO] [stdout] 3244 |         let _ = filter!("G08, G09");
[INFO] [stdout]      |                 ^^^^^^ help: a macro with a similar name exists: `file`
[INFO] [stdout]     --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/macros/mod.rs:1260:5
[INFO] [stdout]      |
[INFO] [stdout]      = note: similarly named macro `file` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `filter` in this scope
[INFO] [stdout]     --> src/lib.rs:3243:17
[INFO] [stdout]      |
[INFO] [stdout] 3243 |         let _ = filter!("GPS");
[INFO] [stdout]      |                 ^^^^^^ help: a macro with a similar name exists: `file`
[INFO] [stdout]     --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/macros/mod.rs:1260:5
[INFO] [stdout]      |
[INFO] [stdout]      = note: similarly named macro `file` defined here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `serde` in this scope
[INFO] [stdout]    --> src/navigation/ephemeris.rs:866:11
[INFO] [stdout]     |
[INFO] [stdout] 866 |         #[serde(with = "epoch_serde")]
[INFO] [stdout]     |           ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `Filter`
[INFO] [stdout]   --> src/tests/smoothing.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         let filter = Filter::from_str("smooth:hatch:c1c,c2p,l1c,l2p").unwrap();
[INFO] [stdout]    |                      ^^^^^^ use of undeclared type `Filter`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these items
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use core::iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use itertools::__std_iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 3  +     use std::iter::Filter;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/epoch/mod.rs:191:31
[INFO] [stdout]     |
[INFO] [stdout] 191 |                     ns = item[dot + 1..]
[INFO] [stdout]     |                               ^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/compressor.rs:86:31
[INFO] [stdout]    |
[INFO] [stdout] 86 |             let nb = &content[30..32];
[INFO] [stdout]    |                               ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:103:50
[INFO] [stdout]     |
[INFO] [stdout] 103 |         let vehicle = &mut self.epoch_descriptor[min..max].trim().to_string();
[INFO] [stdout]     |                                                  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:194:46
[INFO] [stdout]     |
[INFO] [stdout] 194 | ...                   for i in 0..nb_missing {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:304:42
[INFO] [stdout]     |
[INFO] [stdout] 304 | ...                   for index in self.obs_ptr..sv_nb_obs + 1 {
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:327:34
[INFO] [stdout]     |
[INFO] [stdout] 327 |                         for _ in 0..nb_obs_line {
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:355:62
[INFO] [stdout]     |
[INFO] [stdout] 355 | ...                   for i in 0..indexes.len() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/compressor.rs:430:62
[INFO] [stdout]     |
[INFO] [stdout] 430 | ...                   for i in 0..indexes.len() {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/numdiff.rs:36:18
[INFO] [stdout]    |
[INFO] [stdout] 36 |         for _ in 0..max {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 |         for index in 0..min {
[INFO] [stdout]    |                      ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:46:35
[INFO] [stdout]    |
[INFO] [stdout] 46 |             let new_slice = &data[min..s1_len].replace('&', " ");
[INFO] [stdout]    |                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:60:18
[INFO] [stdout]    |
[INFO] [stdout] 60 |         for i in 0..inner.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/textdiff.rs:71:18
[INFO] [stdout]    |
[INFO] [stdout] 71 |         for i in inner.len()..data.len() {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/textdiff.rs:114:18
[INFO] [stdout]     |
[INFO] [stdout] 114 |         for i in 0..masks.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/textdiff.rs:136:18
[INFO] [stdout]     |
[INFO] [stdout] 136 |         for i in 0..masks.len() {
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/decompressor.rs:72:26
[INFO] [stdout]    |
[INFO] [stdout] 72 |                 for i in 0..nb_sv {
[INFO] [stdout]    |                          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/hatanaka/decompressor.rs:89:46
[INFO] [stdout]    |
[INFO] [stdout] 89 |                     result.push_str(&systems[min_offset..max_offset]);
[INFO] [stdout]    |                                              ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:164:26
[INFO] [stdout]     |
[INFO] [stdout] 164 |             for index in 0..content.len() {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:168:62
[INFO] [stdout]     |
[INFO] [stdout] 168 |                         let _ = sv_obs.1.decompress(&content[index..index + 1]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:171:62
[INFO] [stdout]     |
[INFO] [stdout] 171 |                         let _ = sv_obs.2.decompress(&content[index..index + 1]);
[INFO] [stdout]     |                                                              ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:206:66
[INFO] [stdout]     |
[INFO] [stdout] 206 |                         if let Ok(prn) = u8::from_str_radix(svnn[1..].trim(), 10) {
[INFO] [stdout]     |                                                                  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/hatanaka/decompressor.rs:452:50
[INFO] [stdout]     |
[INFO] [stdout] 452 | ...                   line = &line[std::cmp::min(pos + 1, line.len())..]; // line remainder
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:835:26
[INFO] [stdout]     |
[INFO] [stdout] 835 |                 for i in 0..content.len() / 6 {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:836:44
[INFO] [stdout]     |
[INFO] [stdout] 836 |                     let obscode = &content[i * 6..std::cmp::min((i + 1) * 6, content.len())].trim();
[INFO] [stdout]     |                                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:886:30
[INFO] [stdout]     |
[INFO] [stdout] 886 |                     for i in 0..content.len() / 4 {
[INFO] [stdout]     |                              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:888:38
[INFO] [stdout]     |
[INFO] [stdout] 888 | ...                   &content[i * 4..std::cmp::min((i + 1) * 4, content.len())].trim();
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:914:26
[INFO] [stdout]     |
[INFO] [stdout] 914 |                 for _ in 0..n {
[INFO] [stdout]     |                          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:946:26
[INFO] [stdout]     |
[INFO] [stdout] 946 |                 for i in 0..num_integer::div_ceil(slots.len(), 7) {
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:947:39
[INFO] [stdout]     |
[INFO] [stdout] 947 |                     let svnn = &slots[i * 7..i * 7 + 4];
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/header.rs:948:38
[INFO] [stdout]     |
[INFO] [stdout] 948 |                     let chx = &slots[i * 7 + 4..std::cmp::min(i * 7 + 4 + 3, slots.len())];
[INFO] [stdout]     |                                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 27 |         let datestr = &line[1..min_len.len()];
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:35:29
[INFO] [stdout]    |
[INFO] [stdout] 35 |         let datestr = &line[1..min_len.len()];
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:68:45
[INFO] [stdout]    |
[INFO] [stdout] 68 |     let (epoch, _) = epoch::parse_utc(&line[0..offset])?;
[INFO] [stdout]    |                                             ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 75 |     for i in 0..nb_lines {
[INFO] [stdout]    |              ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:76:18
[INFO] [stdout]    |
[INFO] [stdout] 76 |         for _ in 0..8 {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/meteo/record.rs:78:61
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let obs: Option<f64> = match f64::from_str(line[offset..offset + 7].trim()) {
[INFO] [stdout]    |                                                             ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/navigation/ephemeris.rs:537:27
[INFO] [stdout]     |
[INFO] [stdout] 537 |             true => &line[3..],
[INFO] [stdout]     |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/navigation/ephemeris.rs:538:28
[INFO] [stdout]     |
[INFO] [stdout] 538 |             false => &line[4..],
[INFO] [stdout]     |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:19:85
[INFO] [stdout]    |
[INFO] [stdout] 19 |     let lines = re.replace_all(content, |caps: &Captures| format!("E+0{}", &caps[0][1..]));
[INFO] [stdout]    |                                                                                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:23:84
[INFO] [stdout]    |
[INFO] [stdout] 23 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E+0{}", &caps[0][1..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:27:84
[INFO] [stdout]    |
[INFO] [stdout] 27 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E-0{}", &caps[0][2..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/navigation/record.rs:31:84
[INFO] [stdout]    |
[INFO] [stdout] 31 |     let lines = re.replace_all(&lines, |caps: &Captures| format!("E-0{}", &caps[0][2..]));
[INFO] [stdout]    |                                                                                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation/record.rs:227:29
[INFO] [stdout]     |
[INFO] [stdout] 227 |         let datestr = &line[3..22];
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/navigation/record.rs:241:29
[INFO] [stdout]     |
[INFO] [stdout] 241 |         let datestr = &line[4..23];
[INFO] [stdout]     |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Carrier`
[INFO] [stdout]  --> src/observation/record.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Carrier, Observable,
[INFO] [stdout]   |     ^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:144:36
[INFO] [stdout]     |
[INFO] [stdout] 144 |             epoch::parse_utc(&line[0..29]).is_ok()
[INFO] [stdout]     |                                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:302:27
[INFO] [stdout]     |
[INFO] [stdout] 302 |     let system = &systems[0..max];
[INFO] [stdout]     |                           ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:363:22
[INFO] [stdout]     |
[INFO] [stdout] 363 |             for i in 0..nb_obs {
[INFO] [stdout]     |                      ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:372:31
[INFO] [stdout]     |
[INFO] [stdout] 372 |                         &line[0..std::cmp::min(17, line_width)] // manage trimmed single obs
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:377:31
[INFO] [stdout]     |
[INFO] [stdout] 377 |                         &line[start..end]
[INFO] [stdout]     |                               ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:382:34
[INFO] [stdout]     |
[INFO] [stdout] 382 |                 let obs = &slice[0..std::cmp::min(slice.len(), 14)]; // trimmed observations
[INFO] [stdout]     |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:389:46
[INFO] [stdout]     |
[INFO] [stdout] 389 |                         let lli_str = &slice[14..15];
[INFO] [stdout]     |                                              ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:394:50
[INFO] [stdout]     |
[INFO] [stdout] 394 | ...                   let snr_str = &slice[15..16];
[INFO] [stdout]     |                                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:427:35
[INFO] [stdout]     |
[INFO] [stdout] 427 |             let system = &systems[start..end];
[INFO] [stdout]     |                                   ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:500:26
[INFO] [stdout]     |
[INFO] [stdout] 500 |                 for i in 0..nb_obs {
[INFO] [stdout]     |                          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:513:40
[INFO] [stdout]     |
[INFO] [stdout] 513 |                     let obs = &content[0..std::cmp::min(observable_width - 2, content_len)];
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:517:52
[INFO] [stdout]     |
[INFO] [stdout] 517 | ...                   let lli_str = &content[observable_width - 2..observable_width - 1];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:523:52
[INFO] [stdout]     |
[INFO] [stdout] 523 | ...                   let snr_str = &content[observable_width - 1..observable_width];
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:537:36
[INFO] [stdout]     |
[INFO] [stdout] 537 |                     let obs = &rem[0..observable_width - 2];
[INFO] [stdout]     |                                    ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/observation/record.rs:540:48
[INFO] [stdout]     |
[INFO] [stdout] 540 | ...                   let lli_str = &rem[observable_width - 2..observable_width - 1];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]    --> src/observation/record.rs:544:56
[INFO] [stdout]     |
[INFO] [stdout] 544 | ...                   let snr_str = &rem[observable_width - 1..];
[INFO] [stdout]     |                                          ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `RangeFrom` range syntax
[INFO] [stdout]   --> src/observable.rs:72:28
[INFO] [stdout]    |
[INFO] [stdout] 72 |                     Some(c[1..].to_string())
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]   --> src/tests/antex.rs:42:22
[INFO] [stdout]    |
[INFO] [stdout] 42 |             for i in 1..freq.patterns.len() {
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `observable`
[INFO] [stdout]  --> src/tests/decompression.rs:7:17
[INFO] [stdout]   |
[INFO] [stdout] 7 |     use crate::{observable, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tests/nav.rs:8:9
[INFO] [stdout]   |
[INFO] [stdout] 8 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/tests/nav.rs:9:9
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use std::path::PathBuf;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `header::*`
[INFO] [stdout]  --> src/tests/obs.rs:9:17
[INFO] [stdout]   |
[INFO] [stdout] 9 |     use crate::{header::*, observation::*, prelude::*};
[INFO] [stdout]   |                 ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::Path`
[INFO] [stdout]  --> src/tests/production.rs:5:9
[INFO] [stdout]   |
[INFO] [stdout] 5 |     use std::path::Path;
[INFO] [stdout]   |         ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ionex::TECPlane`
[INFO] [stdout]   --> src/lib.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 | use ionex::TECPlane;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 142 |         for i in 0..nb_lines {
[INFO] [stdout]     |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:147:26
[INFO] [stdout]     |
[INFO] [stdout] 147 |                 &content[start_off..end_off],
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> src/lib.rs:402:44
[INFO] [stdout]     |
[INFO] [stdout] 402 |         let nnnn = header.station.as_str()[0..4].to_lowercase();
[INFO] [stdout]     |                                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `clock_diff` is never read
[INFO] [stdout]   --> src/hatanaka/compressor.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct Compressor {
[INFO] [stdout]    |            ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 43 |     clock_diff: NumDiff,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `merge_plane_mut` is never used
[INFO] [stdout]   --> src/ionex/record.rs:80:4
[INFO] [stdout]    |
[INFO] [stdout] 80 | fn merge_plane_mut(lhs: &mut TECPlane, rhs: &TECPlane) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `set_orbit_f64`, `get_week`, and `toe` are never used
[INFO] [stdout]    --> src/navigation/ephemeris.rs:121:19
[INFO] [stdout]     |
[INFO] [stdout] 104 | impl Ephemeris {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 121 |     pub(crate) fn set_orbit_f64(&mut self, field: &str, value: f64) {
[INFO] [stdout]     |                   ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 128 |     pub(crate) fn get_week(&self) -> Option<u32> {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 155 |     pub(crate) fn toe(&self, ts: TimeScale) -> Option<Epoch> {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `meters_delay` is never used
[INFO] [stdout]    --> src/navigation/ionmessage.rs:145:19
[INFO] [stdout]     |
[INFO] [stdout] 75  | impl KbModel {
[INFO] [stdout]     | ------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 145 |     pub(crate) fn meters_delay(
[INFO] [stdout]     |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `scaling` is never used
[INFO] [stdout]    --> src/observation/mod.rs:144:19
[INFO] [stdout]     |
[INFO] [stdout] 120 | impl HeaderFields {
[INFO] [stdout]     | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 144 |     pub(crate) fn scaling(&self, c: Constellation, observable: Observable) -> Option<&u16> {
[INFO] [stdout]     |                   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 69 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/benchmark.rs:131:60
[INFO] [stdout]     |
[INFO] [stdout] 131 |             text_decompression(&mut textdiff, &epochs_pool[0..epochs_len]);
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: requested on the command line with `-W range-syntax`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/benchmark.rs:141:59
[INFO] [stdout]     |
[INFO] [stdout] 141 |             text_decompression(&mut textdiff, &flags_pool[0..flags_len]);
[INFO] [stdout]     |                                                           ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/benchmark.rs:176:74
[INFO] [stdout]     |
[INFO] [stdout] 176 |             num_decompression(&mut numdiff, forced_init_index, &pool_i64[0..20]);
[INFO] [stdout]     |                                                                          ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: usage of `Range` range syntax
[INFO] [stdout]    --> benches/benchmark.rs:184:27
[INFO] [stdout]     |
[INFO] [stdout] 184 |                 &pool_i64[0..pool_i64.len()],
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `parse_file` is never used
[INFO] [stdout]   --> benches/benchmark.rs:35:4
[INFO] [stdout]    |
[INFO] [stdout] 35 | fn parse_file(fp: &str) {
[INFO] [stdout]    |    ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `browse_skip_header_section` is never used
[INFO] [stdout]   --> benches/benchmark.rs:61:4
[INFO] [stdout]    |
[INFO] [stdout] 61 | fn browse_skip_header_section(reader: &mut BufferedReader) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `record_parsing` is never used
[INFO] [stdout]   --> benches/benchmark.rs:74:4
[INFO] [stdout]    |
[INFO] [stdout] 74 | fn record_parsing(path: &str, header: &mut Header) {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 7 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `with_kepler` found for struct `Ephemeris` in the current scope
[INFO] [stdout]    --> src/navigation/ephemeris.rs:879:14
[INFO] [stdout]     |
[INFO] [stdout] 33  |   pub struct Ephemeris {
[INFO] [stdout]     |   -------------------- method `with_kepler` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 878 | /         Ephemeris::default()
[INFO] [stdout] 879 | |             .with_kepler(hp.kepler)
[INFO] [stdout]     | |             -^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Helper: Deserialize<'_>` is not satisfied
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1087:26
[INFO] [stdout]      |
[INFO] [stdout] 1087 |             let helper = serde_json::from_str::<Helper>(descriptor);
[INFO] [stdout]      |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Deserialize<'_>` is not implemented for `Helper`
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `Deserialize<'de>`:
[INFO] [stdout]                bool
[INFO] [stdout]                char
[INFO] [stdout]                isize
[INFO] [stdout]                i8
[INFO] [stdout]                i16
[INFO] [stdout]                i32
[INFO] [stdout]                i64
[INFO] [stdout]                i128
[INFO] [stdout]              and 141 others
[INFO] [stdout] note: required by a bound in `serde_json::from_str`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde_json-1.0.114/src/de.rs:2676:8
[INFO] [stdout]      |
[INFO] [stdout] 2674 | pub fn from_str<'a, T>(s: &'a str) -> Result<T>
[INFO] [stdout]      |        -------- required by a bound in this function
[INFO] [stdout] 2675 | where
[INFO] [stdout] 2676 |     T: de::Deserialize<'a>,
[INFO] [stdout]      |        ^^^^^^^^^^^^^^^^^^^ required by this bound in `from_str`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `kepler` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1094:27
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `kepler` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1094 |                 ephemeris.kepler().is_some(),
[INFO] [stdout]      |                           ^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `perturbations` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1098:27
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `perturbations` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1098 |                 ephemeris.perturbations().is_some(),
[INFO] [stdout]      |                           ^^^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_position` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1107:34
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `sv_position` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1107 |             let ecef = ephemeris.sv_position(helper.sv, helper.epoch);
[INFO] [stdout]      |                                  ^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_elev_azim` found for struct `Ephemeris` in the current scope
[INFO] [stdout]     --> src/navigation/ephemeris.rs:1122:35
[INFO] [stdout]      |
[INFO] [stdout] 33   | pub struct Ephemeris {
[INFO] [stdout]      | -------------------- method `sv_elev_azim` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 1122 |             let el_az = ephemeris.sv_elev_azim(helper.sv, helper.epoch, helper.ref_pos);
[INFO] [stdout]      |                                   ^^^^^^^^^^^^ method not found in `Ephemeris`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/nav.rs:318:39
[INFO] [stdout]     |
[INFO] [stdout] 318 |         let ephemeris: Vec<_> = rinex.ephemeris().collect();
[INFO] [stdout]     |                                       ^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `carrier_phase` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/obs.rs:751:14
[INFO] [stdout]     |
[INFO] [stdout] 750 |           let phase_l1c: Vec<_> = rnx
[INFO] [stdout]     |  _________________________________-
[INFO] [stdout] 751 | |             .carrier_phase()
[INFO] [stdout]     | |             -^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 |   pub struct Rinex {
[INFO] [stdout]     |   ---------------- method `carrier_phase` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `pseudo_range` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/obs.rs:791:14
[INFO] [stdout]     |
[INFO] [stdout] 790 |           let c1: Vec<_> = rnx
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 791 | |             .pseudo_range()
[INFO] [stdout]     | |             -^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     | |_____________|
[INFO] [stdout]     | 
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 |   pub struct Rinex {
[INFO] [stdout]     |   ---------------- method `pseudo_range` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:59:63
[INFO] [stdout]     |
[INFO] [stdout] 59  | ...                   for (_toc, (_, sv, eph)) in rinex.ephemeris() {
[INFO] [stdout]     |                                                         ^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `sv_ephemeris` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:62:60
[INFO] [stdout]     |
[INFO] [stdout] 62  | ...                   let seleph = rinex.sv_ephemeris(sv, toe);
[INFO] [stdout]     |                                          ^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `sv_ephemeris` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `ionosphere_models` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:119:66
[INFO] [stdout]     |
[INFO] [stdout] 119 | ...                   for (_, (msg, sv, ion_msg)) in rinex.ionosphere_models() {
[INFO] [stdout]     |                                                            ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `ionosphere_models` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `earth_orientation` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:177:60
[INFO] [stdout]     |
[INFO] [stdout] 177 | ...                   for (_, (msg, sv, _)) in rinex.earth_orientation() {
[INFO] [stdout]     |                                                      ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `earth_orientation` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `system_time_offset` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/parsing.rs:190:61
[INFO] [stdout]     |
[INFO] [stdout] 190 | ...                   for (_, (msg, _sv, _)) in rinex.system_time_offset() {
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `system_time_offset` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `decimate_by_interval` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/sampling.rs:34:31
[INFO] [stdout]     |
[INFO] [stdout] 34  |         let decimated = rinex.decimate_by_interval(Duration::from_seconds(10.0));
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `decimate_by_interval` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `decimate_by_ratio` found for struct `Rinex` in the current scope
[INFO] [stdout]    --> src/tests/sampling.rs:45:31
[INFO] [stdout]     |
[INFO] [stdout] 45  |         let decimated = rinex.decimate_by_ratio(2);
[INFO] [stdout]     |                               ^^^^^^^^^^^^^^^^^ method not found in `Rinex`
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `decimate_by_ratio` not found for this struct
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: `Rinex` is not an iterator
[INFO] [stdout]    --> src/tests/smoothing.rs:30:38
[INFO] [stdout]     |
[INFO] [stdout] 30  |         let filtered = initial_rinex.filter(filter);
[INFO] [stdout]     |                                      ^^^^^^ `Rinex` is not an iterator
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/lib.rs:224:1
[INFO] [stdout]     |
[INFO] [stdout] 224 | pub struct Rinex {
[INFO] [stdout]     | ---------------- method `filter` not found for this struct because it doesn't satisfy `Rinex: Iterator`
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `Rinex: Iterator`
[INFO] [stdout]             which is required by `&mut Rinex: Iterator`
[INFO] [stdout] note: the trait `Iterator` must be implemented
[INFO] [stdout]    --> /rustc/b4fc5dbf0bc33be331f9d893db5b3a794f29724a/library/core/src/iter/traits/iterator.rs:75:1
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following trait defines an item `filter`, perhaps you need to implement it:
[INFO] [stdout]             candidate #1: `Iterator`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 27 previous errors; 72 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0432, E0433, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rinex` (lib test) due to 28 previous errors; 72 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "56bbe9935d581f0ea18a9524937c3cd2223924241468f1c1b620c28057cc08f7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "56bbe9935d581f0ea18a9524937c3cd2223924241468f1c1b620c28057cc08f7", kill_on_drop: false }`
[INFO] [stdout] 56bbe9935d581f0ea18a9524937c3cd2223924241468f1c1b620c28057cc08f7
